package com.dc.java8._6_interfaceT;


/**
 * Description:  接口默认方法的” 类优先” 原则
 *
 *  若一个接口中定义了一个默认方法，而另外一个父类或接口中又定义了一个同名的方法时
 *  选择父类中的方法。
 * 		如果一个父类提供了具体的实现，那么接口中具有相同名称和参数的默认方法会被忽略。
 *  接口冲突。
 * 		如果一个父接口提供一个默认方法，而另一个接口也提供了一个具有相同名称和参数列表的方法（不管方法是否是默认方法），
 * 		那么必须覆盖该方法来解决冲突
 *
 * @author: gdc
 * @date: 2021/4/10
 * @version 1.0
 */
interface InterfaceTest2<T> {
	
	default String getName() {
		return "哎呦不错偶";
	}
}

interface MyInterface{
	default String getName() {
		return "王者";
	}
}


/**
 *  当实现类中，其实现接口有多个相同名称方法的，需要通过  接口.super.方法()
 */
class MyClass implements InterfaceTest2, MyInterface {
	@Override
	public String getName() {
		return MyInterface.super.getName();
	}
}